#ifndef ALIYUN_RPC_ACS_REQUEST_H_
#define ALIYUN_RPC_ACS_REQUEST_H_

#include "core/acs_request.h"

namespace aliyun {

class RpcAcsRequest : public AcsRequest {
public:
  RpcAcsRequest(const string& product, const string& version, const string& action);
  virtual ~RpcAcsRequest();

  virtual string ComposeUrl(ISigner *i_signer, const Credential* credential, const string& domain);

private:
  string ComputeSignature(std::map<string, string>& parameters, const string& access_secret, ISigner *i_signer);
};

} // namespace aliyun {

#endif // #ifndef ALIYUN_RPC_ACS_REQUEST_H_

// end of file
